[INFO] cloning repository https://github.com/liweiyuan/lsm-tree
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liweiyuan/lsm-tree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliweiyuan%2Flsm-tree", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliweiyuan%2Flsm-tree'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d2ff87191c0f0009bd59c6b74b2262a00c51ae78
[INFO] checking liweiyuan/lsm-tree against try#1779a8680dcd39c56ed600627cf6742ef07ed78c for pr-149045
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliweiyuan%2Flsm-tree" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/liweiyuan/lsm-tree
[INFO] finished tweaking git repo https://github.com/liweiyuan/lsm-tree
[INFO] tweaked toml for git repo https://github.com/liweiyuan/lsm-tree written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/liweiyuan/lsm-tree on toolchain 1779a8680dcd39c56ed600627cf6742ef07ed78c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/liweiyuan/lsm-tree already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking liweiyuan/lsm-tree against try#1779a8680dcd39c56ed600627cf6742ef07ed78c for pr-149045
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliweiyuan%2Flsm-tree" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/liweiyuan/lsm-tree
[INFO] finished tweaking git repo https://github.com/liweiyuan/lsm-tree
[INFO] tweaked toml for git repo https://github.com/liweiyuan/lsm-tree written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/liweiyuan/lsm-tree on toolchain 1779a8680dcd39c56ed600627cf6742ef07ed78c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/liweiyuan/lsm-tree already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.39
[INFO] [stderr]   Downloaded syn v2.0.99
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d1523328b93b9996b9b200be748bb77cb1783ce04a11f5ceb80180435353f8d5
[INFO] running `Command { std: "docker" "start" "-a" "d1523328b93b9996b9b200be748bb77cb1783ce04a11f5ceb80180435353f8d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d1523328b93b9996b9b200be748bb77cb1783ce04a11f5ceb80180435353f8d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d1523328b93b9996b9b200be748bb77cb1783ce04a11f5ceb80180435353f8d5", kill_on_drop: false }`
[INFO] [stdout] d1523328b93b9996b9b200be748bb77cb1783ce04a11f5ceb80180435353f8d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1779a8680dcd39c56ed600627cf6742ef07ed78c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9b868e2c19042b6c910126713dd83a9be941e2a08e2d68544b0024d8a630dc1f
[INFO] running `Command { std: "docker" "start" "-a" "9b868e2c19042b6c910126713dd83a9be941e2a08e2d68544b0024d8a630dc1f", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]     Checking crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking lsm-tree v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thread::JoinHandle`
[INFO] [stdout]  --> src/lsm_storage.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     thread::JoinHandle,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/lsm_storage.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{Context, Ok, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lsm_storage.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |           /// search on immutable memtablse.
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 | /         for memtable in snapshot.imm_memtable.iter() {
[INFO] [stdout] 193 | |             if let Some(value) = memtable.get(key) {
[INFO] [stdout] 194 | |                 if value.is_empty() {
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lsm_storage.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         /// search on sstables. todo
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 |         Ok(None)
[INFO] [stdout]     |         -------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/wal.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         /// todo!()
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 39 |         Ok(())
[INFO] [stdout]    |         ------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::JoinHandle`
[INFO] [stdout]  --> src/lsm_storage.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     thread::JoinHandle,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/lsm_storage.rs:8:14
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{Context, Ok, Result};
[INFO] [stdout]   |              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lsm_storage.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 191 |           /// search on immutable memtablse.
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 | /         for memtable in snapshot.imm_memtable.iter() {
[INFO] [stdout] 193 | |             if let Some(value) = memtable.get(key) {
[INFO] [stdout] 194 | |                 if value.is_empty() {
[INFO] [stdout] ...   |
[INFO] [stdout] 200 | |         }
[INFO] [stdout]     | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/lsm_storage.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |         /// search on sstables. todo
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 203 |         Ok(None)
[INFO] [stdout]     |         -------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/wal.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         /// todo!()
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 39 |         Ok(())
[INFO] [stdout]    |         ------ rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/lsm_storage.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn open(path: impl AsRef<Path>, option: LsmStorageOptions) -> Result<Self> {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]    --> src/lsm_storage.rs:171:37
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn open(path: impl AsRef<Path>, option: LsmStorageOptions) -> Result<Self> {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/lsm_storage.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         rx: crossbeam_channel::Receiver<()>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/lsm_storage.rs:275:9
[INFO] [stdout]     |
[INFO] [stdout] 275 |         rx: crossbeam_channel::Receiver<()>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_lock_observer`
[INFO] [stdout]    --> src/lsm_storage.rs:282:37
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn force_freeze_memtable(&self, state_lock_observer: &MutexGuard<'_, ()>) -> Result<()> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_lock_observer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mem_table.rs:132:13
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut mem_table = MemTable::create_with_wal(0, path)?;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mem_table.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |         let mut mem_table = MemTable::create(0);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mem_table.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mut mem_table = MemTable::create(0);
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]   --> src/wal.rs:43:40
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) fn recover(path: &Path, map: &SkipMap<Bytes, Bytes>) -> Result<Self> {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block_cache`, `compaction_controller`, and `manifest` are never read
[INFO] [stdout]   --> src/lsm_storage.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) struct LsmStorageInner {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub(crate) block_cache: Arc<()>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub(crate) compaction_controller: (),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     // todo need a `Manifest`, just use () for now
[INFO] [stdout] 95 |     pub(crate) manifest: Option<()>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flush_thread` and `compaction_thread` are never read
[INFO] [stdout]    --> src/lsm_storage.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct MiniLsm {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     flush_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     compaction_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_minilsm_open` is never used
[INFO] [stdout]    --> src/lsm_storage.rs:364:8
[INFO] [stdout]     |
[INFO] [stdout] 364 |     fn test_minilsm_open() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]   --> src/wal.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Wal {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 16 |     file: Arc<Mutex<BufWriter<File>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/lsm_storage.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn open(path: impl AsRef<Path>, option: LsmStorageOptions) -> Result<Self> {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `option`
[INFO] [stdout]    --> src/lsm_storage.rs:171:37
[INFO] [stdout]     |
[INFO] [stdout] 171 |     fn open(path: impl AsRef<Path>, option: LsmStorageOptions) -> Result<Self> {
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_option`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/lsm_storage.rs:266:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |         rx: crossbeam_channel::Receiver<()>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rx`
[INFO] [stdout]    --> src/lsm_storage.rs:275:9
[INFO] [stdout]     |
[INFO] [stdout] 275 |         rx: crossbeam_channel::Receiver<()>,
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_rx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state_lock_observer`
[INFO] [stdout]    --> src/lsm_storage.rs:282:37
[INFO] [stdout]     |
[INFO] [stdout] 282 |     fn force_freeze_memtable(&self, state_lock_observer: &MutexGuard<'_, ()>) -> Result<()> {
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_state_lock_observer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]   --> src/wal.rs:43:40
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub(crate) fn recover(path: &Path, map: &SkipMap<Bytes, Bytes>) -> Result<Self> {
[INFO] [stdout]    |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `block_cache`, `compaction_controller`, and `manifest` are never read
[INFO] [stdout]   --> src/lsm_storage.rs:89:16
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) struct LsmStorageInner {
[INFO] [stdout]    |                   --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub(crate) block_cache: Arc<()>,
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub(crate) compaction_controller: (),
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     // todo need a `Manifest`, just use () for now
[INFO] [stdout] 95 |     pub(crate) manifest: Option<()>,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `flush_thread` and `compaction_thread` are never read
[INFO] [stdout]    --> src/lsm_storage.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct MiniLsm {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     flush_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     compaction_thread: Mutex<Option<std::thread::JoinHandle<()>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `file` is never read
[INFO] [stdout]   --> src/wal.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Wal {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 16 |     file: Arc<Mutex<BufWriter<File>>>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.62s
[INFO] running `Command { std: "docker" "inspect" "9b868e2c19042b6c910126713dd83a9be941e2a08e2d68544b0024d8a630dc1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b868e2c19042b6c910126713dd83a9be941e2a08e2d68544b0024d8a630dc1f", kill_on_drop: false }`
[INFO] [stdout] 9b868e2c19042b6c910126713dd83a9be941e2a08e2d68544b0024d8a630dc1f
